/**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**
 *  @author     Andrew Wei
 *  @portfolio  http://andrewwei.mu
 *
 *  ©2012 Andrew Wei
 *
 *  This software is released under the MIT License:
 *  http://www.opensource.org/licenses/mit-license.php
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**/
package com.ghoztudios.events
{
    /// @eventType  flash.events.DynamicContentEvent.REACHED_BEGINNING
    [Event(name = "reachedBeginning", type = "flash.events.DynamicContentEvent")]

    /// @eventType  flash.events.DynamicContentEvent.REACHED_END
    [Event(name = "reachedEnd", type = "flash.events.DynamicContentEvent")]

    /// @eventType  flash.events.DynamicContentEvent.SLIDING
    [Event(name = "sliding", type = "flash.events.DynamicContentEvent")]

    /// @eventType  flash.events.DynamicContentEvent.SCROLL_END
    [Event(name = "scrollEnd", type = "flash.events.DynamicContentEvent")]

    /// @eventType  flash.events.DynamicContentEvent.SCROLLING
    [Event(name = "scrolling", type = "flash.events.DynamicContentEvent")]

    /**
     * An event class for handling view events.
     *
     * @langversion     3.0
     * @playerversion   Flash 10.3.183.20
     */
    public class DynamicContentEvent extends EnhancedEvent
    {
        private static const ID:String = 'com.ghoztudios.events.DynamicContentEvent';


        // Events
        /**
         * Defines the value of the type property of a DynamicContentEvent object.
         * This event is dispatched when the dynamic content control reached the
         * beginning of the content.
         *
         * @langversion     3.0
         * @playerversion   Flash 10.3.183.20
         */
        public static const REACHED_BEGINNING:String = "reachedBeginning";

        /**
         * Defines the value of the type property of a DynamicContentEvent object.
         * This event is dispatched when the dynamic content control reached the end
         * of the content.
         *
         * @langversion     3.0
         * @playerversion   Flash 10.3.183.20
         */
        public static const REACHED_END:String = "reachedEnd";

        /**
         * Defines the value of the type property of a DynamicContentEvent object.
         * This event is dispatched when the dynamic content control (particularly
         * a slider) is sliding.
         *
         * @langversion     3.0
         * @playerversion   Flash 10.3.183.20
         */
        public static const SLIDING:String = "sliding";

        /**
         * Defines the value of the type property of a DynamicContentEvent object.
         * This event is dispatched when the dynamic content control (particularly
         * a scrollbar) is finished scrolling.
         *
         * @langversion     3.0
         * @playerversion   Flash 10.3.183.20
         */
        public static const SCROLL_END:String = "scrollEnd";

        /**
         * Defines the value of the type property of a DynamicContentEvent object.
         * This event is dispatched when the dynamic content control (particularly
         * a scrollbar) is scrolling.
         *
         * @langversion     3.0
         * @playerversion   Flash 10.3.183.20
         */
        public static const SCROLLING:String = "scrolling";


        // Initialization
        /**
         * Creates a new DynamicContentEvent instance.
         *
         * @param   $type
         * @param   $data
         * @param   $bubbles
         * @param   $cancelable
         * @langversion     3.0
         * @playerversion   Flash 10.3.183.20
         */
        public function DynamicContentEvent($type:String, $data:Object = null, $bubbles:Boolean = false, $cancelable:Boolean = false):void
        {
            super($type, $data, $bubbles, $cancelable);
        }
    }
}
